package com.terrier.ui.skins
{
    import com.terrier.ui.skins.defaults.WxButtonSkinDefault;
    import com.terrier.ui.skins.defaults.WxCheckButtonSkinDefault;
    import com.terrier.ui.skins.defaults.WxHScrollBarSkinDefault;
    import com.terrier.ui.skins.defaults.WxHSliderSkinDefault;
    import com.terrier.ui.skins.defaults.WxLabelButtonSkinDefault;
    import com.terrier.ui.skins.defaults.WxListSkinDefault;
    import com.terrier.ui.skins.defaults.WxPanelSkinDefault;
    import com.terrier.ui.skins.defaults.WxScrollPanelSkinDefault;
    import com.terrier.ui.skins.defaults.WxTabBarSkinDefault;
    import com.terrier.ui.skins.defaults.WxVScrollBarSkinDefault;
    import com.terrier.ui.skins.defaults.WxVSliderSkinDefault;

    /**
     * 皮肤管理器
     * @author Jarvis.weng
     */
    public class WxSkinManager
    {
        /**
         * 是否使用默认皮肤，不采用XML配置表中指定的皮肤色
         */
        public static var useDefault:Boolean = false;

        public function WxSkinManager()
        {
            // nothing to do.
        }

        static public function getButtonSkin(skinID:String):IWxButtonSkin
        {
            return new WxButtonSkinDefault();
        }

        static public function getLabelButtonSkin(skinID:String):IWxLabelButtonSkin
        {
            return new WxLabelButtonSkinDefault();
        }

        static public function getCheckButtonSkin(skinID:String):IWxCheckButtonSkin
        {
            return new WxCheckButtonSkinDefault();
        }

        static public function getLabelSkin(skinID:String):IWxLabelSkin
        {
            return null;
        }

        static public function getTextInputSkin(skinID:String):IWxTextInputSkin
        {
            return null;
        }

        static public function getHSliderSkin(skinID:String):IWxSliderSkin
        {
            return new WxHSliderSkinDefault();
        }

        static public function getVSliderSkin(skinID:String):IWxSliderSkin
        {
            return new WxVSliderSkinDefault();
        }

        static public function getHScrollBarSkin(skinID:String):IWxScrollBarSkin
        {
            return new WxHScrollBarSkinDefault();
        }

        static public function getVScrollBarSkin(skinID:String):IWxScrollBarSkin
        {
            return new WxVScrollBarSkinDefault();
        }

        static public function getSliderButtonSkin(skinID:String):IWxSlideButtonSkin
        {
            return null;
        }

        static public function getPanelSkin(skinID:String):IWxPanelSkin
        {
            return new WxPanelSkinDefault();
        }

        static public function getScrollPanelSkin(skinID:String):IWxScrollPanelSkin
        {
            return new WxScrollPanelSkinDefault();
        }

        static public function getTabBarSkin(skinID:String):IWxTabBarSkin
        {
            return new WxTabBarSkinDefault();
        }

        static public function getListSkin(skinID:String):IWxPanelSkin
        {
            return new WxListSkinDefault();
        }
    }
}
